package com.CST.service.ys;

import com.CST.dto.ys.YsDepartmentDTO;
import com.CST.entity.ys.YsDepartment;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author qtx
 * @since 2023-04-20
 */
public interface YsDepartmentService extends IService<YsDepartment> {

    /**
     * 预算部门分页查询
     * @param dto 条件
     * @return 分页集合
     */
    IPage<YsDepartment> listYsDepartmentPage(YsDepartmentDTO dto);

    /**
     * 查询预算科目
     * @param name 科目名称
     * @return 集合
     */
    List<YsDepartment> listYsDepartment(String name,Integer status,Integer manageStatus);

    /**
     * 保存或编辑
     * @param entity 实体类具体参数
     * @return true or false
     */
    boolean saveOrUpdateYsDepartment(YsDepartment entity);

    /**
     * 通过id删除
     * @param id 部门id
     * @return true or false
     */
    boolean removeYsDepartmentById(Long id);

    /**
     * 导入数据
     * @param file 文件
     */
    void importExcelYsDepartment(MultipartFile file);

    /**
     * 导出数据
     * @param response response
     */
    void exportExcelYsDepartment(HttpServletResponse response);

    /**
     * 导出模板
     * @param response response
     */
    void exportExcelYsDepartmentDemo(HttpServletResponse response);

    /**
     * 成本部门下拉数据
     * @param name
     * @return
     */
    List<YsDepartment> listYsDepartmentCb(String name);

    List<YsDepartment> listYsManageAssetDepartment();
}
